<!-- HTML header for doxygen 1.8.6-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Advanced Client Functions</title>
<title>Using the µVision Socket Interface: Advanced Client Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="drv.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="drv.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="keilarm.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">Using the µVision Socket Interface
   &#160;<span id="projectnumber">Application Note 198</span>
   </div>
   <div id="projectbrief">Control and monitor µVision via the built-in TCP/IP interface</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
      <li><a href="modules.html"><span>Reference</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__uvsc__adv__func.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Advanced Client Functions<div class="ingroups"><a class="el" href="group__uvsc__func.html">Client Functions</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gac360de99eaf29dbcbf2585b67d8c0b75"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="group__usvc__enums.html#gadadac39a0d05bddb1eb1240c1eeb1ecc">UVSC_STATUS</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__uvsc__adv__func.html#gac360de99eaf29dbcbf2585b67d8c0b75">UVSC_TxRxRaw</a> (int iConnHandle, <a class="el" href="structUVSOCK__CMD.html">UVSOCK_CMD</a> *buf)</td></tr>
<tr class="separator:gac360de99eaf29dbcbf2585b67d8c0b75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaffa0bc9f6d1e0f15e97817605d075e38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="structUVSOCK__CMD.html">UVSOCK_CMD</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__uvsc__adv__func.html#gaffa0bc9f6d1e0f15e97817605d075e38">UVSC_CreateMsg</a> (<a class="el" href="structUVSOCK__CMD.html">UVSOCK_CMD</a> *buf, <a class="el" href="group__operation__codes.html#ga99cef9125743ebfba84222416cdeb368">UV_OPERATION</a> eCmd, int nLen, const void *pData)</td></tr>
<tr class="separator:gaffa0bc9f6d1e0f15e97817605d075e38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga55ad769f8e74475d45149cd3be3b450e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="group__usvc__enums.html#gadadac39a0d05bddb1eb1240c1eeb1ecc">UVSC_STATUS</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__uvsc__adv__func.html#ga55ad769f8e74475d45149cd3be3b450e">UVSC_DBG_EVAL_EXPRESSION_TO_STR</a> (int iConnHandle, <a class="el" href="structVSET.html">VSET</a> *pVSet, int vSetLen)</td></tr>
<tr class="separator:ga55ad769f8e74475d45149cd3be3b450e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ec99be27534a12be8108ca28e89feed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="group__usvc__enums.html#gadadac39a0d05bddb1eb1240c1eeb1ecc">UVSC_STATUS</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__uvsc__adv__func.html#ga9ec99be27534a12be8108ca28e89feed">UVSC_DBG_FILELINE_TO_ADR</a> (int iConnHandle, <a class="el" href="structAFLMAP.html">AFLMAP</a> *pAflMap, int nAflMapLen, <a class="el" href="structVSET.html">VSET</a> *pVSet, int vSetLen)</td></tr>
<tr class="separator:ga9ec99be27534a12be8108ca28e89feed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9f9277bb0e256322ab74c472d4e9ff52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="group__usvc__enums.html#gadadac39a0d05bddb1eb1240c1eeb1ecc">UVSC_STATUS</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__uvsc__adv__func.html#ga9f9277bb0e256322ab74c472d4e9ff52">UVSC_DBG_ENUM_REGISTER_GROUPS</a> (int iConnHandle, <a class="el" href="structSSTR.html">SSTR</a> *pGroups, int *pGroupCount)</td></tr>
<tr class="separator:ga9f9277bb0e256322ab74c472d4e9ff52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafc8487c28431f901689cdc02a815fbe6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="group__usvc__enums.html#gadadac39a0d05bddb1eb1240c1eeb1ecc">UVSC_STATUS</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__uvsc__adv__func.html#gafc8487c28431f901689cdc02a815fbe6">UVSC_DBG_ENUM_REGISTERS</a> (int iConnHandle, <a class="el" href="structREGENUM.html">REGENUM</a> *pRegisters, int *pRegisterCount)</td></tr>
<tr class="separator:gafc8487c28431f901689cdc02a815fbe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga102fe61bac75d555d4bc0e6c705d9dae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="group__usvc__enums.html#gadadac39a0d05bddb1eb1240c1eeb1ecc">UVSC_STATUS</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__uvsc__adv__func.html#ga102fe61bac75d555d4bc0e6c705d9dae">UVSC_DBG_READ_REGISTERS</a> (int iConnHandle, char *pBuf, int *pBufLen)</td></tr>
<tr class="separator:ga102fe61bac75d555d4bc0e6c705d9dae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga18cf92e9c169514b130683b3a9281941"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="group__usvc__enums.html#gadadac39a0d05bddb1eb1240c1eeb1ecc">UVSC_STATUS</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__uvsc__adv__func.html#ga18cf92e9c169514b130683b3a9281941">UVSC_DBG_REGISTER_SET</a> (int iConnHandle, <a class="el" href="structVSET.html">VSET</a> *pVSet, int vSetLen)</td></tr>
<tr class="separator:ga18cf92e9c169514b130683b3a9281941"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8fd71db6b618d0bcf2834810b4355a84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="group__usvc__enums.html#gadadac39a0d05bddb1eb1240c1eeb1ecc">UVSC_STATUS</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__uvsc__adv__func.html#ga8fd71db6b618d0bcf2834810b4355a84">UVSC_DBG_DSM_READ</a> (int iConnHandle, <a class="el" href="structAMEM.html">AMEM</a> *pMem, int memLen)</td></tr>
<tr class="separator:ga8fd71db6b618d0bcf2834810b4355a84"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gaffa0bc9f6d1e0f15e97817605d075e38"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="structUVSOCK__CMD.html">UVSOCK_CMD</a> * UVSC_CreateMsg </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structUVSOCK__CMD.html">UVSOCK_CMD</a> *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__operation__codes.html#ga99cef9125743ebfba84222416cdeb368">UV_OPERATION</a>&#160;</td>
          <td class="paramname"><em>eCmd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nLen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>pData</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Create a UVSOCK message </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>Pointer to a structure to hold the UVSOCK message data </td></tr>
    <tr><td class="paramname">eCmd</td><td>Mssage command to add to the message </td></tr>
    <tr><td class="paramname">nLen</td><td>Length of the data in <em>pData</em> </td></tr>
    <tr><td class="paramname">pData</td><td>Pointer to the data to add to the message </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Equal to the input parameter <em>buf</em> </dd></dl>
<p>Use this function to create a correctly formatted UVSOCK message. This function is useful only in conjunction with the <a class="el" href="group__uvsc__adv__func.html#gac360de99eaf29dbcbf2585b67d8c0b75">UVSC_TxRxRaw</a> function. This is an advanced feature, and normally is not required. </p>

</div>
</div>
<a class="anchor" id="ga8fd71db6b618d0bcf2834810b4355a84"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="group__usvc__enums.html#gadadac39a0d05bddb1eb1240c1eeb1ecc">UVSC_STATUS</a> UVSC_DBG_DSM_READ </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>iConnHandle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structAMEM.html">AMEM</a> *&#160;</td>
          <td class="paramname"><em>pMem</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>memLen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get block of disassembly lines for given address </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">iConnHandle</td><td>Handle for the connection, as returned by <a class="el" href="group__uvsc__ctrl__func.html#ga4d5d8f897604d8b3e8b6ec03150b92db">UVSC_OpenConnection</a> </td></tr>
    <tr><td class="paramname">pMem</td><td>Pointer to a structure containing the information about the address of disassembly to read. This variable will be updated with block of disassembly lines. This is a variable length structure, and must be large enough to contain the returned data, otherwise an error code will be returned from the function </td></tr>
    <tr><td class="paramname">memLen</td><td>Size of the <em>pMem</em> data (bytes)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="UVSC__C_8h.html#gadadac39a0d05bddb1eb1240c1eeb1ecca3809ecb6c637725dfc3f832439113905" title="Success. ">UVSC_STATUS_SUCCESS</a> on success, or an error code</dd></dl>
<dl class="section pre"><dt>Precondition</dt><dd><a class="el" href="group__uvsc__ctrl__func.html#ga4d5d8f897604d8b3e8b6ec03150b92db">UVSC_OpenConnection</a> must have been called successfully </dd>
<dd>
A valid project is loaded, and uVision is debugging</dd></dl>
<p>Use this function to get a block of disassembly lines starting with given address current project. </p>

</div>
</div>
<a class="anchor" id="ga9f9277bb0e256322ab74c472d4e9ff52"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="group__usvc__enums.html#gadadac39a0d05bddb1eb1240c1eeb1ecc">UVSC_STATUS</a> UVSC_DBG_ENUM_REGISTER_GROUPS </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>iConnHandle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSSTR.html">SSTR</a> *&#160;</td>
          <td class="paramname"><em>pGroups</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>pGroupCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Enumerate register groups </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">iConnHandle</td><td>Handle for the connection, as returned by <a class="el" href="group__uvsc__ctrl__func.html#ga4d5d8f897604d8b3e8b6ec03150b92db">UVSC_OpenConnection</a> </td></tr>
    <tr><td class="paramname">pGroups</td><td>Pointer to a structure to contain the group(s) </td></tr>
    <tr><td class="paramname">pGroupCount</td><td>Pointer to a variable to containing the number of items it is possible to fit into the <em>pGroups</em> structures. This variable will be updated with the actual number of groups returned. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="UVSC__C_8h.html#gadadac39a0d05bddb1eb1240c1eeb1ecca3809ecb6c637725dfc3f832439113905" title="Success. ">UVSC_STATUS_SUCCESS</a> on success, or an error code</dd></dl>
<dl class="section pre"><dt>Precondition</dt><dd><a class="el" href="group__uvsc__ctrl__func.html#ga4d5d8f897604d8b3e8b6ec03150b92db">UVSC_OpenConnection</a> must have been called successfully </dd>
<dd>
A valid project is loaded, and uVision is debugging</dd></dl>
<p>Use this function to get a list of all register groups that exist within the current project.</p>
<p>The pointer <em>pGroups</em> must point to memory which is a multiple of the size of these structures. This multiple must be passed in the variable <em>pGroupCount</em>. The multiple must make the <em>pGroups</em> memory space large enough to contain the maximum number of groups that may be returned. If the memory area is not large enough for the returned data, the function will return an error. A recommended value is 256. </p>

</div>
</div>
<a class="anchor" id="gafc8487c28431f901689cdc02a815fbe6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="group__usvc__enums.html#gadadac39a0d05bddb1eb1240c1eeb1ecc">UVSC_STATUS</a> UVSC_DBG_ENUM_REGISTERS </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>iConnHandle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structREGENUM.html">REGENUM</a> *&#160;</td>
          <td class="paramname"><em>pRegisters</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>pRegisterCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Enumerate registers </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">iConnHandle</td><td>Handle for the connection, as returned by <a class="el" href="group__uvsc__ctrl__func.html#ga4d5d8f897604d8b3e8b6ec03150b92db">UVSC_OpenConnection</a> </td></tr>
    <tr><td class="paramname">pRegisters</td><td>Pointer to a structure to contain the registers </td></tr>
    <tr><td class="paramname">pRegisterCount</td><td>Pointer to a variable containing the number of items it is possible to fit into the <em>pRegisters</em>. This variable will be updated with the actual number of registers returned. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="UVSC__C_8h.html#gadadac39a0d05bddb1eb1240c1eeb1ecca3809ecb6c637725dfc3f832439113905" title="Success. ">UVSC_STATUS_SUCCESS</a> on success, or an error code</dd></dl>
<dl class="section pre"><dt>Precondition</dt><dd><a class="el" href="group__uvsc__ctrl__func.html#ga4d5d8f897604d8b3e8b6ec03150b92db">UVSC_OpenConnection</a> must have been called successfully </dd>
<dd>
A valid project is loaded, and uVision is debugging</dd></dl>
<p>Use this function to get a list of all register groups that exist within the current project.</p>
<p>The pointer <em>pRegisters</em> must point to memory which is a multiple of the size of these structures. This multiple must be passed in the variable <em>pRegisterCount</em>. The multiple must make the <em>pRegisters</em> memory space large enough to contain the maximum number of registers that may be returned. If the memory area is not large enough for the returned data, the function will return an error. A recommended value is 256. </p>

</div>
</div>
<a class="anchor" id="ga55ad769f8e74475d45149cd3be3b450e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="group__usvc__enums.html#gadadac39a0d05bddb1eb1240c1eeb1ecc">UVSC_STATUS</a> UVSC_DBG_EVAL_EXPRESSION_TO_STR </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>iConnHandle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structVSET.html">VSET</a> *&#160;</td>
          <td class="paramname"><em>pVSet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>vSetLen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Evaluate expession and retur result as string </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">iConnHandle</td><td>Handle for the connection, as returned by <a class="el" href="group__uvsc__ctrl__func.html#ga4d5d8f897604d8b3e8b6ec03150b92db">UVSC_OpenConnection</a> </td></tr>
    <tr><td class="paramname">pVSet</td><td>Pointer to a structure containing the expression to calculate. This variable will be updated with the result of the expression calculation. input : pVSet-&gt;val : stack frame address (VTT_uint64) pVSet-str : expression to avaluate </td></tr>
    <tr><td class="paramname">vSetLen</td><td>Size of the <em>pVSet</em> data (bytes) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="UVSC__C_8h.html#gadadac39a0d05bddb1eb1240c1eeb1ecca3809ecb6c637725dfc3f832439113905" title="Success. ">UVSC_STATUS_SUCCESS</a> on success, or an error code</dd></dl>
<dl class="section pre"><dt>Precondition</dt><dd><a class="el" href="group__uvsc__ctrl__func.html#ga4d5d8f897604d8b3e8b6ec03150b92db">UVSC_OpenConnection</a> must have been called successfully </dd>
<dd>
uVision is in debug mode</dd></dl>
<p>Use this function to get stack frame based expression evaluation, for example to display a variable value in a tooltip </p>

</div>
</div>
<a class="anchor" id="ga9ec99be27534a12be8108ca28e89feed"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="group__usvc__enums.html#gadadac39a0d05bddb1eb1240c1eeb1ecc">UVSC_STATUS</a> UVSC_DBG_FILELINE_TO_ADR </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>iConnHandle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structAFLMAP.html">AFLMAP</a> *&#160;</td>
          <td class="paramname"><em>pAflMap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nAflMapLen</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structVSET.html">VSET</a> *&#160;</td>
          <td class="paramname"><em>pVSet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>vSetLen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Convert High Level Language (HLL) file and line to an address </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">iConnHandle</td><td>Handle for the connection, as returned by <a class="el" href="group__uvsc__ctrl__func.html#ga4d5d8f897604d8b3e8b6ec03150b92db">UVSC_OpenConnection</a> </td></tr>
    <tr><td class="paramname">pAflMap</td><td>Pointer to a structure to contain the HLL code information about file and line </td></tr>
    <tr><td class="paramname">nAflMapLen</td><td>size of the <em>pAflMap</em> data (bytes). </td></tr>
    <tr><td class="paramname">pVSet</td><td>Pointer to a structure containing calculated address. This variable will be updated with the result of the calculation. </td></tr>
    <tr><td class="paramname">vSetLen</td><td>Size of the <em>pVSet</em> data (bytes) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The input parameter pAflMap cannot consume the output parameter pAflMap from function <a class="el" href="group__uvsc__dbg__func.html#ga1775f4cd6395cdb5006f3fc6fdce9306">UVSC_DBG_ADR_TOFILELINE</a> </dd></dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="UVSC__C_8h.html#gadadac39a0d05bddb1eb1240c1eeb1ecca3809ecb6c637725dfc3f832439113905" title="Success. ">UVSC_STATUS_SUCCESS</a> on success, or an error code</dd></dl>
<dl class="section pre"><dt>Precondition</dt><dd><a class="el" href="group__uvsc__ctrl__func.html#ga4d5d8f897604d8b3e8b6ec03150b92db">UVSC_OpenConnection</a> must have been called successfully </dd>
<dd>
uVision is in debug mode</dd></dl>
<p>Use this function to convert a code address to a High Level Language (HLL) file, line and function. </p>

</div>
</div>
<a class="anchor" id="ga102fe61bac75d555d4bc0e6c705d9dae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="group__usvc__enums.html#gadadac39a0d05bddb1eb1240c1eeb1ecc">UVSC_STATUS</a> UVSC_DBG_READ_REGISTERS </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>iConnHandle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>pBuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>pBufLen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Read all register values </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">iConnHandle</td><td>Handle for the connection, as returned by <a class="el" href="group__uvsc__ctrl__func.html#ga4d5d8f897604d8b3e8b6ec03150b92db">UVSC_OpenConnection</a> </td></tr>
    <tr><td class="paramname">pBuf</td><td>pointer to a string buffer to contain the register values </td></tr>
    <tr><td class="paramname">pBufLen</td><td>pointer to a variable containing the size of pBuf in bytes This variable will be updated with the actual number of bytes returned. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="UVSC__C_8h.html#gadadac39a0d05bddb1eb1240c1eeb1ecca3809ecb6c637725dfc3f832439113905" title="Success. ">UVSC_STATUS_SUCCESS</a> on success, or an error code</dd></dl>
<dl class="section pre"><dt>Precondition</dt><dd><a class="el" href="group__uvsc__ctrl__func.html#ga4d5d8f897604d8b3e8b6ec03150b92db">UVSC_OpenConnection</a> must have been called successfully </dd>
<dd>
A valid project is loaded, and uVision is debugging</dd></dl>
<p>Use this function to get a list of all register groups that exist within the current project.</p>
<p>The pointer <em>pBuf</em> must point to memory which is a multiple of the 32 bytes (32*register_count). The length of this buffer be passed in the variable <em>pBufLen</em>. The multiple must make the <em>pBuf</em> memory space large enough to contain the maximum number of register values that may be returned. If the memory area is not large enough for the returned data, the function will return an error. A recommended value is 4096. </p>

</div>
</div>
<a class="anchor" id="ga18cf92e9c169514b130683b3a9281941"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="group__usvc__enums.html#gadadac39a0d05bddb1eb1240c1eeb1ecc">UVSC_STATUS</a> UVSC_DBG_REGISTER_SET </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>iConnHandle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structVSET.html">VSET</a> *&#160;</td>
          <td class="paramname"><em>pVSet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>vSetLen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set register value </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">iConnHandle</td><td>Handle for the connection, as returned by <a class="el" href="group__uvsc__ctrl__func.html#ga4d5d8f897604d8b3e8b6ec03150b92db">UVSC_OpenConnection</a> </td></tr>
    <tr><td class="paramname">pVSet</td><td>pointer to a <a class="el" href="structVSET.html">VSET</a> structure that contains: <a class="el" href="structTVAL.html">TVAL</a> member contains register index as integer <a class="el" href="structSSTR.html">SSTR</a> contains register value as string expression </td></tr>
    <tr><td class="paramname">vSetLen</td><td>size of <a class="el" href="structVSET.html">VSET</a> stucture </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="UVSC__C_8h.html#gadadac39a0d05bddb1eb1240c1eeb1ecca3809ecb6c637725dfc3f832439113905" title="Success. ">UVSC_STATUS_SUCCESS</a> on success, or an error code</dd></dl>
<dl class="section pre"><dt>Precondition</dt><dd><a class="el" href="group__uvsc__ctrl__func.html#ga4d5d8f897604d8b3e8b6ec03150b92db">UVSC_OpenConnection</a> must have been called successfully </dd>
<dd>
A valid project is loaded, and uVision is debugging</dd></dl>
<p>Use this function to set a new value to a register </p>

</div>
</div>
<a class="anchor" id="gac360de99eaf29dbcbf2585b67d8c0b75"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__usvc__defs.html#gaa98bd3356e69afadc44d005d3c7bbbf3">_UVSC_FUNC_</a> <a class="el" href="group__usvc__enums.html#gadadac39a0d05bddb1eb1240c1eeb1ecc">UVSC_STATUS</a> UVSC_TxRxRaw </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>iConnHandle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structUVSOCK__CMD.html">UVSOCK_CMD</a> *&#160;</td>
          <td class="paramname"><em>buf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Send a raw UVSOCK message, and retreive the response </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">iConnHandle</td><td>Handle for the connection, as returned by <a class="el" href="group__uvsc__ctrl__func.html#ga4d5d8f897604d8b3e8b6ec03150b92db">UVSC_OpenConnection</a> </td></tr>
    <tr><td class="paramname">buf</td><td>Pointer to a structure containing the UVSOCK request message data. This will be replaced by the response message data </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="UVSC__C_8h.html#gadadac39a0d05bddb1eb1240c1eeb1ecca3809ecb6c637725dfc3f832439113905" title="Success. ">UVSC_STATUS_SUCCESS</a> on success, or an error code</dd></dl>
<dl class="section pre"><dt>Precondition</dt><dd><a class="el" href="group__uvsc__ctrl__func.html#ga4d5d8f897604d8b3e8b6ec03150b92db">UVSC_OpenConnection</a> must have been called successfully</dd></dl>
<p>Use this function to send a raw UVSOCK message, and retreive the response. This is useful when implementing UVSOCK features that are not yet fully supported in UVSC. This is an advanced feature, and normally is not required. </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Mon Jul 2 2018 08:45:40 for Using the µVision Socket Interface by ARM Ltd. All rights reserved.
	<!--
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 
	-->
	</li>
  </ul>
</div>
</body>
</html>
